import 'package:flutter/material.dart';
import 'package:loading_indicator/loading_indicator.dart';

// 加载指示器
class CustomLoadingIndicator extends StatelessWidget {
  final Color? color; // 加载指示器的颜色
  final double? size; // 加载指示器的大小
  final String? message; // 可选的加载提示文本

  const CustomLoadingIndicator({
    super.key,
    this.color,
    this.size,
    this.message,
  });

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          SizedBox(
            width: size ?? 40, // 默认大小为 40
            height: size ?? 40,
            child: const LoadingIndicator(
              indicatorType: Indicator.ballSpinFadeLoader, // 加载动画类型
              colors: [Colors.blue], // 颜色
            ),
          ),
          if (message != null) // 如果有提示文本，显示文本
            Padding(
              padding: const EdgeInsets.only(top: 16),
              child: Text(
                message!,
                style: Theme.of(context).textTheme.bodyLarge,
              ),
            ),
        ],
      ),
    );
  }
}
